Skip to content

Conversation

@VGR-GIT
Copy link
Contributor

@VGR-GIT VGR-GIT commented Oct 29, 2025

Description

  • UI components/hook needed to show rewards balance.
  • Show rewards balance instead of portfolio button next to balance percentage changed, only if rewards is enabled.

Changelog

CHANGELOG entry: show rewards balance

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/RWDS-276

Screenshots/Recordings

After

image

TODO

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Displays a Rewards points badge next to balance change when rewards is enabled, backed by new Rewards hooks/context and controller wiring; simplifies related UI, removes Shield deep link/flows, and updates infra and tests.

  • Rewards (UI + Data):
    • Add RewardsPointsBalance component and icon; show it instead of the Portfolio button via new trailingChild prop in balance/overview components.
    • Introduce RewardsProvider and hooks (useRewardsEnabled, useCandidateSubscriptionId, useSeasonStatus) with tests; add useRewardsContext and wrap app routes.
    • Add shared rewards types; wire rewards state into background types and controller messenger (getCandidateSubscriptionId, getSeasonMetadata/Status).
    • Update RewardsController: shorter not-opted-in cache TTL, stricter token/session handling, improved flattening, reset subscription tokens on invalidation; expand tests.
  • UI/UX adjustments:
    • Simplify Dapp swap comparison banner; remove callout copy/threshold and rely on selected quote presence.
    • Remove alerts navigation exclusions; make MultipleAlertModal linear, simplify alert-row behavior.
    • Adjust Simulation Details “No changes” layout.
    • Replace Token List custom priority sort with existing sort util and mapping.
    • Show Smart Tx status with current chainId.
    • Remove Shield deep-link route and confirm-flow handlers; simplify Shield settings polling/timeout.
  • Localization:
    • Add rewards strings; remove unused swap/shield strings.
  • Infra/Config:
    • Downgrade Node to v22; update engines; switch e2e container image; minor build memory flags.
  • Refactors:
    • Replace Object.assign/loops with reduce/spread in multiple modules; simplify selectors and utilities; narrow sanitizeString to LTR/RTL overrides.
  • Tests:
    • Add extensive unit tests for rewards hooks/components and controller; update e2e tests and various UI tests accordingly.

Written by Cursor Bugbot for commit ceb777f. This will update automatically on new commits. Configure here.

@metamaskbot metamaskbot added the team-rewards Rewards team label Oct 29, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 29, 2025

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the INVALID-PR-TEMPLATE PR's body doesn't match template label Oct 29, 2025
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 0d38064 | Date: 10/29/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±41ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 727ms (±59ms) 🟢 | historical mean value: 742ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 88ms (±124ms) 🟢 | historical mean value: 83ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 41ms 1.02s 1.36s 1.07s 1.36s
domContentLoaded 727ms 59ms 704ms 1.26s 752ms 1.26s
firstPaint 88ms 124ms 60ms 1.32s 88ms 1.32s
firstContentfulPaint 88ms 124ms 60ms 1.32s 88ms 1.32s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [0d38064]
UI Startup Metrics (1272 ± 83 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1272113715688313241412
load109095914038111351229
domContentLoaded108495613998111311222
domInteractive20146191846
firstPaint649140127344510981204
backgroundConnect2352232617239248
firstReactRender2817141133142
getState21899102434
initialActions61386716
loadScripts855735116581904996
setupStore1063541119
BrowserifyPower User HomeuiStartup21921805328557330283285
load1182944200137916582001
domContentLoaded1170934199437416431994
domInteractive311699244899
firstPaint75515118555859651855
backgroundConnect25521641846258418
firstReactRender27243122931
getState17313819513184195
initialActions72257725
loadScripts933710169335213981693
setupStore19848112548
WebpackStandard HomeuiStartup811672127280834954
load594541109575595771
domContentLoaded587534108774589763
domInteractive15114671335
firstPaint202511091221162760
backgroundConnect24135272937
firstReactRender27165683235
getState1152041417
initialActions3010246
loadScripts584532108073587754
setupStore1042131213
WebpackPower User HomeuiStartup17261356235733621922357
load77863812732069361273
domContentLoaded72662411201538041120
domInteractive20143373033
firstPaint4919911243438141124
backgroundConnect15520479181454479
firstReactRender24232612526
getState15612519615162196
initialActions30174417
loadScripts72162111091507941109
setupStore12651111051
FirefoxBrowserifyStandard HomeuiStartup1442126218629915041597
load1233109015078312921385
domContentLoaded1233109015078312921384
domInteractive1093526340120205
firstPaint------
backgroundConnect4224145204784
firstReactRender26215272543
getState74223912
initialActions31394311
loadScripts1205107414798012641352
setupStore1155461122
BrowserifyPower User HomeuiStartup27052351330529629673305
load14071231163511915341635
domContentLoaded14071231163511915341635
domInteractive1507730857180308
firstPaint------
backgroundConnect21155651167367651
firstReactRender41295274752
getState14910019932184199
initialActions2321975111197
loadScripts13641195159811214601598
setupStore3781493351149
WebpackStandard HomeuiStartup16621458206912516881940
load14201215181410414491661
domContentLoaded14201215181310414481661
domInteractive1212946179115387
firstPaint------
backgroundConnect4825183215580
firstReactRender312387133073
getState12418529816
initialActions6110716350
loadScripts13911196178210414191630
setupStore146116121325
WebpackPower User HomeuiStartup28302315370042431863700
load16201284196421018021964
domContentLoaded16201284196421018011964
domInteractive1385423361213233
firstPaint------
backgroundConnect18833684177282684
firstReactRender40305684956
getState1437020444188204
initialActions821861418
loadScripts15561265182617917431826
setupStore4171093068109

Base automatically changed from feat/rwds-274-rewards-controller to main October 29, 2025 18:20
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: b1f1847 | Date: 10/29/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 999ms (±39ms) 🟢 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 690ms (±36ms) 🟢 | historical mean value: 728ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±12ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 999ms 39ms 973ms 1.29s 1.02s 1.29s
domContentLoaded 690ms 36ms 672ms 961ms 709ms 961ms
firstPaint 78ms 12ms 60ms 180ms 92ms 180ms
firstContentfulPaint 78ms 12ms 60ms 180ms 92ms 180ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [b1f1847]
UI Startup Metrics (1280 ± 76 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1280113814767613431407
load109292512967811481226
domContentLoaded108592112917811441220
domInteractive211484121948
firstPaint58581123043710741178
backgroundConnect23421832412237249
firstReactRender2919116113341
getState201099102235
initialActions51657615
loadScripts858692106580910993
setupStore1157571114
BrowserifyPower User HomeuiStartup21771840341047427303410
load1158945172530116101725
domContentLoaded1150940170429815991704
domInteractive281672194172
firstPaint818239174052310311740
backgroundConnect27522748679271486
firstReactRender25203132631
getState17713126129187261
initialActions42122512
loadScripts908716141727313221417
setupStore1992882728
WebpackStandard HomeuiStartup1158895142911512361327
load957721116710310311091
domContentLoaded946712115110110211080
domInteractive201480111848
firstPaint225741067228211876
backgroundConnect2615101142549
firstReactRender22193122225
getState1384461228
initialActions41265715
loadScripts943709113810010181077
setupStore1062941023
WebpackPower User HomeuiStartup16931259238333520052383
load72361811701557591170
domContentLoaded69160610361247251036
domInteractive19133883138
firstPaint52610811433237601143
backgroundConnect13819473164350473
firstReactRender26234352743
getState1541301669163166
initialActions50246624
loadScripts68760410241207131024
setupStore16644112544
FirefoxBrowserifyStandard HomeuiStartup14361250183411915011684
load1221108514798212831356
domContentLoaded1220108514798212821356
domInteractive1143427446129220
firstPaint------
backgroundConnect382475124561
firstReactRender25215362541
getState839710816
initialActions711942638
loadScripts1197106814438012541337
setupStore13687101232
BrowserifyPower User HomeuiStartup26742244341033530273410
load14181240174314215131743
domContentLoaded14181239174314215121743
domInteractive1509429654193296
firstPaint------
backgroundConnect18834634183378634
firstReactRender38274764447
getState1319916618139166
initialActions131138336138
loadScripts13621218158810514271588
setupStore29698253298
WebpackStandard HomeuiStartup15551400192411615981821
load1333117816669413821514
domContentLoaded1333117816669413821514
domInteractive1093038463111263
firstPaint------
backgroundConnect4424107184872
firstReactRender27226762835
getState104125151013
initialActions506810324
loadScripts1305116216439213531494
setupStore14694131246
WebpackPower User HomeuiStartup26952242340433629893404
load16051358196018217401960
domContentLoaded16051358196018217391960
domInteractive1064117642150176
firstPaint------
backgroundConnect17637523145326523
firstReactRender412987134587
getState1236118735160187
initialActions11167151367
loadScripts15561291184716617011847
setupStore3781022653102
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -469 Bytes (-0.01%)
  • ui: 5.63 KiB (0.08%)
  • common: 951 Bytes (0.01%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: e43a1b9 | Date: 10/30/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±43ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 722ms (±61ms) 🟢 | historical mean value: 738ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±42ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 43ms 1.01s 1.34s 1.06s 1.34s
domContentLoaded 722ms 61ms 700ms 1.28s 743ms 1.28s
firstPaint 80ms 42ms 56ms 496ms 88ms 496ms
firstContentfulPaint 80ms 42ms 56ms 496ms 88ms 496ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [e43a1b9]
UI Startup Metrics (1284 ± 85 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1284110915458513371445
load110296213237811461241
domContentLoaded109795913177811401237
domInteractive201475101941
firstPaint52885128142510831171
backgroundConnect2312162496236244
firstReactRender28194673244
getState209103132237
initialActions51173613
loadScripts8717441082779161001
setupStore1162541219
numNetworkReqs96337630
BrowserifyPower User HomeuiStartup22341807348759030223487
load1168939198433715691984
domContentLoaded1160932196833415601968
domInteractive271562164662
firstPaint1037214197749515661977
backgroundConnect268221654102278654
firstReactRender26233132931
getState18315625727202257
initialActions1215318653
loadScripts919716160430212901604
setupStore1883282532
numNetworkReqs359181705193661705
WebpackStandard HomeuiStartup8517281155778621075
load64459197276650835
domContentLoaded63658595074644826
domInteractive16117291439
firstPaint19358989208178751
backgroundConnect23127392643
firstReactRender271791103237
getState1252341518
initialActions3114247
loadScripts63258393972641822
setupStore1052531214
numNetworkReqs96378833
WebpackPower User HomeuiStartup17531481259838522622598
load74063811291438891129
domContentLoaded700613979111808979
domInteractive20133783137
firstPaint501128983290678983
backgroundConnect12935471140181471
firstReactRender24222712527
getState16613229736162297
initialActions90103247103
loadScripts696611967107798967
setupStore1961112525111
numNetworkReqs406220831179595831
FirefoxBrowserifyStandard HomeuiStartup1445127418199215031596
load1234109114907612921357
domContentLoaded1234109114897612921356
domInteractive1163635049125225
firstPaint------
backgroundConnect3924108124759
firstReactRender26216462644
getState74304713
initialActions3114235
loadScripts1211107314697512631326
setupStore1378391315
numNetworkReqs96357730
BrowserifyPower User HomeuiStartup27512304372339430413723
load14051237172813114851728
domContentLoaded14051237172713014851727
domInteractive1728346094219460
firstPaint------
backgroundConnect22162645168327645
firstReactRender42295574855
getState1377820029146200
initialActions16263202863
loadScripts13491203158811714451588
setupStore4291223156122
numNetworkReqs27916750088341500
WebpackStandard HomeuiStartup16301456200413116821942
load1401122417299814621589
domContentLoaded1401122417299814621588
domInteractive1152942882109385
firstPaint------
backgroundConnect4522139195093
firstReactRender312283132972
getState104153171031
initialActions7117320350
loadScripts1373120617019614401539
setupStore157204241225
numNetworkReqs106358833
WebpackPower User HomeuiStartup28752355421849730794218
load16331348221424518052214
domContentLoaded16331348221424518042214
domInteractive1378123046188230
firstPaint------
backgroundConnect19636533162276533
firstReactRender42325784857
getState15411541270153412
initialActions1027016770
loadScripts15811305209722717452097
setupStore331359144359
numNetworkReqs256118487108357487

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 08dc827 | Date: 10/30/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±42ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 721ms (±61ms) 🟢 | historical mean value: 739ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 89ms (±128ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 42ms 1.00s 1.36s 1.06s 1.36s
domContentLoaded 721ms 61ms 696ms 1.28s 738ms 1.28s
firstPaint 89ms 128ms 64ms 1.36s 88ms 1.36s
firstContentfulPaint 89ms 128ms 64ms 1.36s 88ms 1.36s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [08dc827]
UI Startup Metrics (1240 ± 77 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1240110314287712961371
load106793312467411171203
domContentLoaded106092812387311091195
domInteractive19145281845
firstPaint65188123044110891184
backgroundConnect2272132547230243
firstReactRender27185373141
getState1994372332
initialActions50576613
loadScripts840710102072886971
setupStore962831017
numNetworkReqs96327630
BrowserifyPower User HomeuiStartup21771839332649227673326
load1165945182231816491822
domContentLoaded1156939180431416431804
domInteractive271767164367
firstPaint74787183053210271830
backgroundConnect25722238142283381
firstReactRender26243122831
getState16713920215173202
initialActions924211942
loadScripts915708148629013791486
setupStore1992982829
numNetworkReqs348146741204622741
WebpackStandard HomeuiStartup8507291168778661074
load63858693373646899
domContentLoaded63157892271641887
domInteractive15114461431
firstPaint19857938202181629
backgroundConnect22125182543
firstReactRender2917146153242
getState1263241419
initialActions307246
loadScripts62857691169638877
setupStore1052031214
numNetworkReqs96348831
WebpackPower User HomeuiStartup17391450264238120752642
load75763313381977821338
domContentLoaded70961211421417461142
domInteractive19123372633
firstPaint45513011463447811146
backgroundConnect13420478158277478
firstReactRender25223532635
getState15710321324160213
initialActions7148121048
loadScripts70461011301387351130
setupStore16658152458
numNetworkReqs406185813178585813
FirefoxBrowserifyStandard HomeuiStartup14581216187710215281595
load1238106014718113081371
domContentLoaded1238106014708113081371
domInteractive1123728545122229
firstPaint------
backgroundConnect4525132204888
firstReactRender25214642532
getState84789815
initialActions411001037
loadScripts1210104214367912791338
setupStore1163941217
numNetworkReqs96327730
BrowserifyPower User HomeuiStartup27292215374246029863742
load14051187166113315081661
domContentLoaded14041187166013315081660
domInteractive17897518100216518
firstPaint------
backgroundConnect20941509161394509
firstReactRender37295274552
getState1419820527156205
initialActions914613646
loadScripts13381159152410714391524
setupStore34993224493
numNetworkReqs24815442284322422
WebpackStandard HomeuiStartup16021450201611716261903
load13791190170210014181626
domContentLoaded13791189170210014181626
domInteractive1173248482116386
firstPaint------
backgroundConnect4725168215187
firstReactRender302275112967
getState9410710915
initialActions517010312
loadScripts1350115416819413861548
setupStore15777121351
numNetworkReqs106368733
WebpackPower User HomeuiStartup27812319453255329524532
load15591319201521717352015
domContentLoaded15581319201421717342014
domInteractive1414039677179396
firstPaint------
backgroundConnect2083611782802771178
firstReactRender50311222260122
getState1308620233151202
initialActions812991229
loadScripts15061293196019916851960
setupStore301289214389
numNetworkReqs279161681125311681
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -440 Bytes (-0.01%)
  • ui: 5.77 KiB (0.08%)
  • common: 967 Bytes (0.01%)

@sophieqgu
Copy link
Contributor

I have read the CLA Document and I hereby sign the CLA

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 979f7ea | Date: 10/30/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±39ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 728ms (±37ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±11ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 39ms 1.01s 1.32s 1.10s 1.32s
domContentLoaded 728ms 37ms 701ms 995ms 786ms 995ms
firstPaint 76ms 11ms 60ms 164ms 92ms 164ms
firstContentfulPaint 76ms 11ms 60ms 164ms 92ms 164ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [979f7ea]
UI Startup Metrics (1258 ± 80 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1258109914898013201379
load107793412707611281213
domContentLoaded107090812607611211206
domInteractive201459101849
firstPaint64294124344110901200
backgroundConnect2302182537234247
firstReactRender2918117123343
getState2088092333
initialActions717510728
loadScripts846689104176897983
setupStore1062031117
numNetworkReqs96337631
BrowserifyPower User HomeuiStartup22281837321955430533219
load1162959170129416271701
domContentLoaded1153939169229316131692
domInteractive281669174469
firstPaint696157166850910151668
backgroundConnect25621940646262406
firstReactRender27243232932
getState17816420514193205
initialActions17276232376
loadScripts908723138826012791388
setupStore1683492634
numNetworkReqs406220728195683728
WebpackStandard HomeuiStartup8567361133758671069
load64159494869644844
domContentLoaded63358693469638833
domInteractive16116591442
firstPaint19756913196195626
backgroundConnect23125482644
firstReactRender27175583234
getState1252541418
initialActions3115349
loadScripts63058492366636821
setupStore1051731215
numNetworkReqs96368832
WebpackPower User HomeuiStartup17611317266638521852666
load81464416762897961676
domContentLoaded76462214782327621478
domInteractive231394203294
firstPaint48210514824207951482
backgroundConnect14027481168353481
firstReactRender26233122731
getState14910718222160182
initialActions101105254105
loadScripts75962014672297521467
setupStore1163171231
numNetworkReqs339183690183608690
FirefoxBrowserifyStandard HomeuiStartup14571290191411515241652
load1239111314278413061401
domContentLoaded1238111314278413061401
domInteractive1173527845134218
firstPaint------
backgroundConnect4226186204965
firstReactRender26224742631
getState9417218713
initialActions612072046
loadScripts1213108714018112751370
setupStore1375981232
numNetworkReqs96327727
BrowserifyPower User HomeuiStartup28042302401847830654018
load14251235175514814661755
domContentLoaded14251235175514814661755
domInteractive1579331257206312
firstPaint------
backgroundConnect2813410332934211033
firstReactRender443075125575
getState1328223334146233
initialActions15196251396
loadScripts13431157165512314321655
setupStore4562826542282
numNetworkReqs283176594124308594
WebpackStandard HomeuiStartup15941419217915116332047
load1366118716849914111599
domContentLoaded1365118716849914111598
domInteractive1033139850105206
firstPaint------
backgroundConnect45232002648103
firstReactRender3423145193075
getState12421029715
initialActions41628312
loadScripts1341117016489413871530
setupStore1275281224
numNetworkReqs96378730
WebpackPower User HomeuiStartup28612223417649731914176
load16391278208522618962085
domContentLoaded16391277208522618962085
domInteractive1537640793193407
firstPaint------
backgroundConnect20431958237226958
firstReactRender38306294062
getState1429820431165204
initialActions2112135015213
loadScripts15831248196720117931967
setupStore4771805076180
numNetworkReqs311124623149395623
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -253 Bytes (-0.01%)
  • ui: 9.38 KiB (0.13%)
  • common: 996 Bytes (0.01%)

@github-actions github-actions bot added size-XL and removed size-M labels Oct 30, 2025
@sophieqgu sophieqgu marked this pull request as ready for review October 30, 2025 18:33
@sophieqgu sophieqgu changed the title feat: rwds-276 wip feat: rwds-276 show rewards balance Oct 30, 2025
cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: dbdf7b3 | Date: 10/30/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.02s (±44ms) 🟡 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 714ms (±41ms) 🟢 | historical mean value: 736ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±14ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.02s 44ms 1.00s 1.36s 1.05s 1.36s
domContentLoaded 714ms 41ms 694ms 1.04s 732ms 1.04s
firstPaint 75ms 14ms 56ms 200ms 88ms 200ms
firstContentfulPaint 75ms 14ms 56ms 200ms 88ms 200ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [dbdf7b3]
UI Startup Metrics (1255 ± 88 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1255107714598813141422
load108190512928511351242
domContentLoaded107489812858511291235
domInteractive191366101847
firstPaint62787127643510841172
backgroundConnect22621231511229236
firstReactRender26185172841
getState2088392336
initialActions50224713
loadScripts8556811065859161011
setupStore1162741219
numNetworkReqs96327630
BrowserifyPower User HomeuiStartup22091804386564229783865
load1160935190332715811903
domContentLoaded1153929189232615721892
domInteractive291585214585
firstPaint68617419034659781903
backgroundConnect26222061392259613
firstReactRender25233122531
getState18112926033192260
initialActions14370192770
loadScripts918712156730313301567
setupStore1182131121
numNetworkReqs373191706196682706
WebpackStandard HomeuiStartup8757551166708951038
load65260495569663843
domContentLoaded64459793066658835
domInteractive16127191538
firstPaint19859971215178791
backgroundConnect25126692848
firstReactRender3017218223339
getState1262241518
initialActions318247
loadScripts64059592064655824
setupStore1052831315
numNetworkReqs96348831
WebpackPower User HomeuiStartup15951160245835319412458
load68156511681668081168
domContentLoaded641554955123732955
domInteractive201247113647
firstPaint48492960305736960
backgroundConnect12518418145282418
firstReactRender24203632436
getState1529025435155254
initialActions1611423511142
loadScripts638552948121724948
setupStore20583252683
numNetworkReqs357204615145570615
FirefoxBrowserifyStandard HomeuiStartup1380124716718314281530
load1185107714746412191314
domContentLoaded1184107614746412191314
domInteractive1063528341113207
firstPaint------
backgroundConnect3925104164189
firstReactRender23204552438
getState73597714
initialActions317135
loadScripts1160104913896111931281
setupStore116116111114
numNetworkReqs96347731
BrowserifyPower User HomeuiStartup27812489345623129083456
load14061216177413814711774
domContentLoaded14051216177413814711774
domInteractive1839943680219436
firstPaint------
backgroundConnect23051432114368432
firstReactRender492989184989
getState1438721835163218
initialActions1013791437
loadScripts13491171170513514181705
setupStore441299226699
numNetworkReqs28018335140316351
WebpackStandard HomeuiStartup15591369211412216041841
load1339119117049613881530
domContentLoaded1339119117039613881530
domInteractive1002944054108192
firstPaint------
backgroundConnect4423140205095
firstReactRender322274152973
getState84829815
initialActions516810311
loadScripts1313117316489113541495
setupStore137197191126
numNetworkReqs96367729
WebpackPower User HomeuiStartup28232364407348230174073
load16181372212721217812127
domContentLoaded16181372212721217812127
domInteractive1497732469195324
firstPaint------
backgroundConnect14435609146197609
firstReactRender423097165197
getState14711131152154311
initialActions14192241292
loadScripts15571341203417916862034
setupStore3872475831247
numNetworkReqs276142568114387568
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -305 Bytes (-0.01%)
  • ui: 8.92 KiB (0.13%)
  • common: 1012 Bytes (0.01%)

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: aa517e9 | Date: 10/30/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 976ms (±39ms) 🟢 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 676ms (±36ms) 🟢 | historical mean value: 732ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 73ms (±10ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 976ms 39ms 952ms 1.25s 1.02s 1.25s
domContentLoaded 676ms 36ms 653ms 937ms 699ms 937ms
firstPaint 73ms 10ms 60ms 160ms 80ms 160ms
firstContentfulPaint 73ms 10ms 60ms 160ms 80ms 160ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [aa517e9]
UI Startup Metrics (1269 ± 104 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12691130201510413061404
load108695517469611271225
domContentLoaded108095017399511181218
domInteractive201470102047
firstPaint68388174544811111185
backgroundConnect2292182435232240
firstReactRender30185983443
getState22875102643
initialActions61214815
loadScripts856726150394897992
setupStore1162741119
numNetworkReqs96337631
BrowserifyPower User HomeuiStartup22721772380263330783802
load1201943202335316872023
domContentLoaded1189936201834516662018
domInteractive311599245599
firstPaint67116717505319971750
backgroundConnect26221949668278496
firstReactRender26233222732
getState18815826228203262
initialActions1337320873
loadScripts950713164731514141647
setupStore13950101150
numNetworkReqs407180787192639787
WebpackStandard HomeuiStartup8937351253859111121
load659593103871670820
domContentLoaded651586101870663813
domInteractive171283101535
firstPaint201581022191206625
backgroundConnect261366103050
firstReactRender3118246243439
getState1363051523
initialActions3140447
loadScripts648584100768660801
setupStore1163241315
numNetworkReqs96338832
WebpackPower User HomeuiStartup16471344254837221042548
load673570934125817934
domContentLoaded645557889113747889
domInteractive211254113054
firstPaint42092893286674893
backgroundConnect11121343107268343
firstReactRender24222922529
getState15713524234153242
initialActions171116375116
loadScripts641555882110739882
setupStore3751935344193
numNetworkReqs357181686163557686
FirefoxBrowserifyStandard HomeuiStartup14721273192811415231632
load1248110614737913031381
domContentLoaded1248110514737913031381
domInteractive1163529844129217
firstPaint------
backgroundConnect4327137194970
firstReactRender26214862646
getState9417917716
initialActions4164638
loadScripts1221108414337512751352
setupStore146220231222
numNetworkReqs96357731
BrowserifyPower User HomeuiStartup28392404389237530853892
load14681292176914316091769
domContentLoaded14671290176914316091769
domInteractive17610533968253339
firstPaint------
backgroundConnect26158901218351901
firstReactRender44336795067
getState1378719926148199
initialActions14257181957
loadScripts14001191160412915501604
setupStore361285235685
numNetworkReqs27116250081320500
WebpackStandard HomeuiStartup16271438221413516861933
load13851212190710214341554
domContentLoaded13841212190610214331554
domInteractive1103261271112232
firstPaint------
backgroundConnect4522130205391
firstReactRender342282153177
getState115136161045
initialActions6217818416
loadScripts1356119118699814081514
setupStore15772101442
numNetworkReqs106348833
WebpackPower User HomeuiStartup28022267411247030584112
load16251262208526519152085
domContentLoaded16251262208526519152085
domInteractive18475475101244475
firstPaint------
backgroundConnect2143311112902821111
firstReactRender482992175492
getState1406821747188217
initialActions922681226
loadScripts15651239201323818022013
setupStore38696285796
numNetworkReqs308152607134392607
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -305 Bytes (-0.01%)
  • ui: 8.92 KiB (0.13%)
  • common: 1012 Bytes (0.01%)

@metamaskbot
Copy link
Collaborator

Builds ready [7a4fe52]
UI Startup Metrics (1287 ± 107 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12871107169310713411464
load110595714819411591244
domContentLoaded109895414679311511234
domInteractive201470121855
firstPaint69987147544611251217
backgroundConnect2322192638236250
firstReactRender31196393852
getState238108142644
initialActions71668923
loadScripts872732122891926998
setupStore1163041220
numNetworkReqs1367419672
BrowserifyPower User HomeuiStartup20631819282933423752829
load1090956153720313281537
domContentLoaded1081950153320212931533
domInteractive281567184667
firstPaint61016113193759621319
backgroundConnect2352202477241247
firstReactRender28253223032
getState18516322317200223
initialActions52112611
loadScripts854727129019710661290
setupStore11101211212
numNetworkReqs15410131283272312
WebpackStandard HomeuiStartup8146971146888311002
load59254591074596785
domContentLoaded58453889070590773
domInteractive1511113121335
firstPaint19851893212161708
backgroundConnect261383142660
firstReactRender28175883335
getState1252441417
initialActions30173412
loadScripts58153688368588766
setupStore1051731215
numNetworkReqs1367619873
WebpackPower User HomeuiStartup12091087168518113281685
load60954980078667800
domContentLoaded59353976269643762
domInteractive211257143657
firstPaint316104766236548766
backgroundConnect741124079106240
firstReactRender25233322533
getState1266615526141155
initialActions612481724
loadScripts59053675467636754
setupStore1052361623
numNetworkReqs1479729364194293
FirefoxBrowserifyStandard HomeuiStartup15821306201013016621795
load1323112215509313881495
domContentLoaded1323112115509413871495
domInteractive1243938353139226
firstPaint------
backgroundConnect49242062652111
firstReactRender29235882952
getState956681017
initialActions52183414
loadScripts1294110215329013611440
setupStore15899101432
numNetworkReqs1366716860
BrowserifyPower User HomeuiStartup25082080361843126783618
load13601153173418915521734
domContentLoaded13601153173418915521734
domInteractive21478602169441602
firstPaint------
backgroundConnect11228607144105607
firstReactRender39295074850
getState1339521129154211
initialActions9151121051
loadScripts13291129168318114971683
setupStore4863528262352
numNetworkReqs1396933892233338
WebpackStandard HomeuiStartup16821471232314617082013
load14281223177310814871657
domContentLoaded14281223177210814861657
domInteractive1053232741113168
firstPaint------
backgroundConnect51261272160106
firstReactRender3623133173679
getState11420025722
initialActions51546413
loadScripts13981207171810214511624
setupStore15854101442
numNetworkReqs1367018766
WebpackPower User HomeuiStartup23882056275223526172752
load14651233175417516691754
domContentLoaded14651233175317516681753
domInteractive1273943094170430
firstPaint------
backgroundConnect913733478152334
firstReactRender35284774147
getState1076018535113185
initialActions212167429167
loadScripts14261208166016216271660
setupStore32111153229115
numNetworkReqs1375830780192307
📊 Page Load Benchmark Results

Current Commit: 7a4fe52 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±37ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 733ms (±35ms) 🟢 | historical mean value: 726ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 37ms 1.03s 1.32s 1.08s 1.32s
domContentLoaded 733ms 35ms 709ms 981ms 758ms 981ms
firstPaint 78ms 11ms 64ms 176ms 84ms 176ms
firstContentfulPaint 78ms 11ms 64ms 176ms 84ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -305 Bytes (-0.01%)
  • ui: 8.61 KiB (0.12%)
  • common: 998 Bytes (0.01%)

@VGR-GIT VGR-GIT requested a review from a team as a code owner November 4, 2025 13:46
@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

💎 @MetaMask/metamask-assets (2 files, +4 -4)
  • 📁 ui/
    • 📁 components/
      • 📁 app/
        • 📁 assets/
          • 📁 account-group-balance-change/
            • 📄 account-group-balance-change.test.tsx +1 -1
            • 📄 account-group-balance-change.tsx +3 -3

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

Builds ready [657c8d2]
UI Startup Metrics (1245 ± 145 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12451081235814512921438
load1065895209113311091239
domContentLoaded1056889208613511021231
domInteractive2514358361961
firstPaint67688128841810521206
backgroundConnect23722134517239265
firstReactRender26177492943
getState22869122851
initialActions806110830
loadScripts8296591855133875988
setupStore1163651219
numNetworkReqs1367419671
BrowserifyPower User HomeuiStartup20451777301638922923016
load1036897148819412331488
domContentLoaded1028889147819412171478
domInteractive32141093142109
firstPaint67018712283459321228
backgroundConnect24122528215253282
firstReactRender37251703528170
getState17915725422186254
initialActions418268
loadScripts80066612051839881205
setupStore1292861128
numNetworkReqs15410331683279316
WebpackStandard HomeuiStartup77164014951127681004
load554500118698539802
domContentLoaded546496116395533787
domInteractive16116191437
firstPaint208551169223166783
backgroundConnect251189142963
firstReactRender27173563235
getState1052331214
initialActions3129349
loadScripts543494115393531779
setupStore1153041217
numNetworkReqs1467720874
WebpackPower User HomeuiStartup13061157172219515201722
load668574975141690975
domContentLoaded647562930123686930
domInteractive251372203572
firstPaint35374896248576896
backgroundConnect53102587161258
firstReactRender27253012730
getState14510916918160169
initialActions31133313
loadScripts642559918120684918
setupStore1262682526
numNetworkReqs1449327666194276
FirefoxBrowserifyStandard HomeuiStartup14371230186111714921666
load1223106214549312931403
domContentLoaded1222106214539312931402
domInteractive1143532548128229
firstPaint------
backgroundConnect4224128184683
firstReactRender26217372640
getState9420321716
initialActions51759313
loadScripts1198104614058912681374
setupStore1273551224
numNetworkReqs1166414754
BrowserifyPower User HomeuiStartup24212065311528825313115
load13531100186121115151861
domContentLoaded13521099186121115141861
domInteractive21491642168433642
firstPaint------
backgroundConnect11731403128184403
firstReactRender40305694856
getState1389222939187229
initialActions511851118
loadScripts13171080182619814721826
setupStore22576223376
numNetworkReqs1397032982234329
WebpackStandard HomeuiStartup16281395218614416701998
load1390121916579614491600
domContentLoaded1390121916569614491600
domInteractive1053135840118166
firstPaint------
backgroundConnect50261592455114
firstReactRender302375102959
getState74475713
initialActions7111415425
loadScripts1359120015959014171546
setupStore177210281370
numNetworkReqs1367217765
WebpackPower User HomeuiStartup26362239328336029133283
load15991322197722018331977
domContentLoaded15991322197722018331977
domInteractive18155506145277506
firstPaint------
backgroundConnect812630768114307
firstReactRender443297174497
getState1268321031128210
initialActions713181131
loadScripts15631302194420917861944
setupStore3762095444209
numNetworkReqs1386531479217314
📊 Page Load Benchmark Results

Current Commit: 657c8d2 | Date: 11/4/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 963ms (±40ms) 🟢 | historical mean value: 1.03s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 670ms (±37ms) 🟢 | historical mean value: 717ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 73ms (±11ms) 🟢 | historical mean value: 79ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 963ms 40ms 931ms 1.26s 1.01s 1.26s
domContentLoaded 670ms 37ms 646ms 940ms 699ms 940ms
firstPaint 73ms 11ms 60ms 168ms 80ms 168ms
firstContentfulPaint 73ms 11ms 60ms 168ms 80ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -329 Bytes (-0.01%)
  • ui: 9.22 KiB (0.13%)
  • common: 1003 Bytes (0.01%)

sophieqgu
sophieqgu previously approved these changes Nov 4, 2025
@VGR-GIT VGR-GIT enabled auto-merge November 4, 2025 14:30
@metamaskbot
Copy link
Collaborator

Builds ready [586c5f0]
UI Startup Metrics (1257 ± 97 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1257110217329712991423
load107593814718611301230
domContentLoaded106893514618511241217
domInteractive221485152062
firstPaint612153146843510711184
backgroundConnect23622228910239256
firstReactRender29196083245
getState23668112944
initialActions71698917
loadScripts839714121182899976
setupStore1163341318
numNetworkReqs1367619670
BrowserifyPower User HomeuiStartup20811785343543823593435
load1062905180324813081803
domContentLoaded1054900179124612981791
domInteractive301590225290
firstPaint71415818084629441808
backgroundConnect24422029719252297
firstReactRender30255273452
getState18416027832190278
initialActions538278
loadScripts824675150723310591507
setupStore17948112648
numNetworkReqs1499931380254313
WebpackStandard HomeuiStartup8407051171928571107
load60855095178601864
domContentLoaded60054693474595852
domInteractive161286101539
firstPaint20760941196203605
backgroundConnect251080152860
firstReactRender3018160153438
getState1051831315
initialActions41274510
loadScripts59754492472592842
setupStore1162031317
numNetworkReqs1367519871
WebpackPower User HomeuiStartup13471134201731817862017
load66357011601607491160
domContentLoaded64355911121487121112
domInteractive241375205075
firstPaint3617611162735731116
backgroundConnect681022779177227
firstReactRender26242812728
getState14410616120156161
initialActions215135
loadScripts63855611021457021102
setupStore1062771027
numNetworkReqs1479628976273289
FirefoxBrowserifyStandard HomeuiStartup15091270188111715731741
load1276109315018613451416
domContentLoaded1276109315008613451416
domInteractive1193533751133224
firstPaint------
backgroundConnect4825170245197
firstReactRender27224742735
getState10421822723
initialActions51678415
loadScripts1247107414778413211384
setupStore1385471330
numNetworkReqs1266514756
BrowserifyPower User HomeuiStartup24792129325930825113259
load13521125172616414981726
domContentLoaded13521124172616414981726
domInteractive22689716203384716
firstPaint------
backgroundConnect943223270180232
firstReactRender43295574855
getState1559528345188283
initialActions811961619
loadScripts13221105169616614651696
setupStore4061714453171
numNetworkReqs1337033288173332
WebpackStandard HomeuiStartup16891483248921316842263
load14171223181611514531685
domContentLoaded14171223181511514521685
domInteractive1033237144116158
firstPaint------
backgroundConnect56221933161130
firstReactRender31237993443
getState10410315716
initialActions10221929433
loadScripts13831204177710714231599
setupStore198264291556
numNetworkReqs1366917767
WebpackPower User HomeuiStartup26582286364540729893645
load15741350213625917892136
domContentLoaded15731349213525917892135
domInteractive20578637188345637
firstPaint------
backgroundConnect1023430674146306
firstReactRender42355785157
getState12810417319144173
initialActions10153141153
loadScripts15371322206325017592063
setupStore33101133150113
numNetworkReqs13767344105209344
📊 Page Load Benchmark Results

Current Commit: 586c5f0 | Date: 11/4/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.04s (±38ms) 🟡 | historical mean value: 1.03s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 725ms (±36ms) 🟢 | historical mean value: 717ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 78ms (±11ms) 🟢 | historical mean value: 78ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.04s 38ms 1.02s 1.33s 1.06s 1.33s
domContentLoaded 725ms 36ms 703ms 1.00s 740ms 1.00s
firstPaint 78ms 11ms 64ms 168ms 88ms 168ms
firstContentfulPaint 78ms 11ms 64ms 168ms 88ms 168ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: -298 Bytes (-0.01%)
  • ui: 9.22 KiB (0.13%)
  • common: 1003 Bytes (0.01%)

Copy link
Contributor

@bergarces bergarces left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Replacing the portfolio button with the rewards icon 👍

@VGR-GIT VGR-GIT added this pull request to the merge queue Nov 4, 2025
auto-merge was automatically disabled November 4, 2025 17:15

Pull Request is not mergeable

Merged via the queue into main with commit e339fff Nov 4, 2025
483 of 488 checks passed
@VGR-GIT VGR-GIT deleted the feat/rwds-276 branch November 4, 2025 19:00
@github-actions github-actions bot locked and limited conversation to collaborators Nov 4, 2025
@metamaskbot metamaskbot added the release-13.9.0 Issue or pull request that will be included in release 13.9.0 label Nov 4, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

INVALID-PR-TEMPLATE PR's body doesn't match template release-13.9.0 Issue or pull request that will be included in release 13.9.0 size-XL team-rewards Rewards team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants